//================================================================================================
/// @file isobus_standard_data_description_indices.hpp
///
/// @brief Defines some standard DDIs.
/// Does not include proprietary DDIs.
/// @note The full list of standardized DDIs can be found at "isobus.net"
/// @author Adrian Del Grosso
///
/// @copyright 2023 The Open-Agriculture Developers
//================================================================================================
#ifndef ISOBUS_STANDARD_DATA_DESCRIPTION_INDICES_HPP
#define ISOBUS_STANDARD_DATA_DESCRIPTION_INDICES_HPP

#include <cstdint>

namespace isobus
{
	/// @brief Enumerates a subset of standard ISOBUS DDIs
	enum class DataDescriptionIndex : std::uint16_t
	{
		DataDictionaryVersion = 0x0000, ///< This DDE is used to specify which version of the Data Dictionary is being used.
		SetpointVolumePerAreaApplicationRate = 0x0001, ///< Setpoint Application Rate specified as volume per area
		ActualVolumePerAreaApplicationRate = 0x0002, ///< Actual Application Rate specified as volume per area
		DefaultVolumePerAreaApplicationRate = 0x0003, ///< Default Application Rate specified as volume per area
		MinimumVolumePerAreaApplicationRate = 0x0004, ///< Minimum Application Rate specified as volume per area
		MaximumVolumePerAreaApplicationRate = 0x0005, ///< Maximum Application Rate specified as volume per area
		SetpointMassPerAreaApplicationRate = 0x0006, ///< Setpoint Application Rate specified as mass per area
		ActualMassPerAreaApplicationRate = 0x0007, ///< Actual Application Rate specified as mass per area
		DefaultMassPerAreaApplicationRate = 0x0008, ///< Default Application Rate specified as mass per area
		MinimumMassPerAreaApplicationRate = 0x0009, ///< Minimum Application Rate specified as mass per area
		MaximumMassPerAreaApplicationRate = 0x000A, ///< Maximum Application Rate specified as mass per area
		SetpointCountPerAreaApplicationRate = 0x000B, ///< Setpoint Application Rate specified as count per area
		ActualCountPerAreaApplicationRate = 0x000C, ///< Actual Application Rate specified as count per area
		DefaultCountPerAreaApplicationRate = 0x000D, ///< Default Application Rate specified as count per area
		MinimumCountPerAreaApplicationRate = 0x000E, ///< Minimum Application Rate specified as count per area
		MaximumCountPerAreaApplicationRate = 0x000F, ///< Maximum Application Rate specified as count per area
		SetpointSpacingApplicationRate = 0x0010, ///< Setpoint Application Rate specified as distance: e.g. seed spacing of a precision seeder
		ActualSpacingApplicationRate = 0x0011, ///< Actual Application Rate specified as distance: e.g. seed spacing of a precision seeder
		DefaultSpacingApplicationRate = 0x0012, ///< Default Application Rate specified as distance: e.g. seed spacing of a precision seeder
		MinimumSpacingApplicationRate = 0x0013, ///< Minimum Application Rate specified as distance: e.g. seed spacing of a precision seeder
		MaximumSpacingApplicationRate = 0x0014, ///< Maximum Application Rate specified as distance: e.g. seed spacing of a precision seeder
		SetpointVolumePerVolumeApplicationRate = 0x0015, ///< Setpoint Application Rate specified as volume per volume
		ActualVolumePerVolumeApplicationRate = 0x0016, ///< Actual Application Rate specified as volume per volume
		DefaultVolumePerVolumeApplicationRate = 0x0017, ///< Default Application Rate specified as volume per volume
		MinimumVolumePerVolumeApplicationRate = 0x0018, ///< Minimum Application Rate specified as volume per volume
		MaximumVolumePerVolumeApplicationRate = 0x0019, ///< Maximum Application Rate specified as volume per volume
		SetpointMassPerMassApplicationRate = 0x001A, ///< Setpoint Application Rate specified as mass per mass
		ActualMassPerMassApplicationRate = 0x001B, ///< Actual Application Rate specified as mass per mass
		DefaultMassPerMassApplicationRate = 0x001C, ///< Default Application Rate specified as mass per mass
		MinimumMassPerMassApplicationRate = 0x001D, ///< Minimum Application Rate specified as mass per mass
		MaximumMassPerMassApplicationRate = 0x001E, ///< Maximum Application Rate specified as mass per mass
		SetpointVolumePerMassApplicationRate = 0x001F, ///< Setpoint Application Rate specified as volume per mass
		ActualVolumePerMassApplicationRate = 0x0020, ///< Actual Application Rate specified as volume per mass
		DefaultVolumePerMassApplicationRate = 0x0021, ///< Default Application Rate specified as volume per mass
		MinimumVolumePerMassApplicationRate = 0x0022, ///< Minimum Application Rate specified as volume per mass
		MaximumVolumePerMassApplicationRate = 0x0023, ///< Maximum Application Rate specified as volume per mass
		SetpointVolumePerTimeApplicationRate = 0x0024, ///< Setpoint Application Rate specified as volume per time
		ActualVolumePerTimeApplicationRate = 0x0025, ///< Actual Application Rate specified as volume per time
		DefaultVolumePerTimeApplicationRate = 0x0026, ///< Default Application Rate specified as volume per time
		MinimumVolumePerTimeApplicationRate = 0x0027, ///< Minimum Application Rate specified as volume per time
		MaximumVolumePerTimeApplicationRate = 0x0028, ///< Maximum Application Rate specified as volume per time
		SetpointMassPerTimeApplicationRate = 0x0029, ///< Setpoint Application Rate specified as mass per time
		ActualMassPerTimeApplicationRate = 0x002A, ///< Actual Application Rate specified as mass per time
		DefaultMassPerTimeApplicationRate = 0x002B, ///< Default Application Rate specified as mass per time
		MinimumMassPerTimeApplicationRate = 0x002C, ///< Minimum Application Rate specified as mass per time
		MaximumMassPerTimeApplicationRate = 0x002D, ///< Maximum Application Rate specified as mass per time
		SetpointCountPerTimeApplicationRate = 0x002E, ///< Setpoint Application Rate specified as count per time
		ActualCountPerTimeApplicationRate = 0x002F, ///< Actual Application Rate specified as count per time
		DefaultCountPerTimeApplicationRate = 0x0030, ///< Default Application Rate specified as count per time
		MinimumCountPerTimeApplicationRate = 0x0031, ///< Minimum Application Rate specified as count per time
		MaximumCountPerTimeApplicationRate = 0x0032, ///< Maximum Application Rate specified as count per time
		SetpointTillageDepth = 0x0033, ///< Setpoint Tillage Depth of Device Element below soil surface, value increases with depth.  In case of a negative value the system will indicate the distance above the ground.
		ActualTillageDepth = 0x0034, ///< Actual Tillage Depth of Device Element below soil surface, value increases with depth. In case of a negative value the system will indicate the distance above the ground.
		DefaultTillageDepth = 0x0035, ///< Default Tillage Depth of Device Element below soil surface, value increases with depth. In case of a negative value the system will indicate the distance above the ground.
		MinimumTillageDepth = 0x0036, ///< Minimum Tillage Depth of Device Element below soil surface, value increases with depth. In case of a negative value the system will indicate the distance above the ground.
		MaximumTillageDepth = 0x0037, ///< Maximum Tillage Depth of Device Element below soil surface, value increases with depth. In case of a negative value the system will indicate the distance above the ground.
		SetpointSeedingDepth = 0x0038, ///< Setpoint Seeding Depth of Device Element below soil surface, value increases with depth
		ActualSeedingDepth = 0x0039, ///< Actual Seeding Depth of Device Element below soil surface, value increases with depth
		DefaultSeedingDepth = 0x003A, ///< Default Seeding Depth of Device Element below soil surface, value increases with depth
		MinimumSeedingDepth = 0x003B, ///< Minimum Seeding Depth of Device Element below soil surface, value increases with depth
		MaximumSeedingDepth = 0x003C, ///< Maximum Seeding Depth of Device Element below soil surface, value increases with depth
		SetpointWorkingHeight = 0x003D, ///< Setpoint Working Height of Device Element above crop or soil
		ActualWorkingHeight = 0x003E, ///< Actual Working Height of Device Element above crop or soil
		DefaultWorkingHeight = 0x003F, ///< Default Working Height of Device Element above crop or soil
		MinimumWorkingHeight = 0x0040, ///< Minimum Working Height of Device Element above crop or soil
		MaximumWorkingHeight = 0x0041, ///< Maximum Working Height of Device Element above crop or soil
		SetpointWorkingWidth = 0x0042, ///< Setpoint Working Width of Device Element
		ActualWorkingWidth = 0x0043, ///< Actual Working Width of Device Element
		DefaultWorkingWidth = 0x0044, ///< Default Working Width of Device Element
		MinimumWorkingWidth = 0x0045, ///< Minimum Working Width of Device Element
		MaximumWorkingWidth = 0x0046, ///< Maximum Working Width of Device Element
		SetpointVolumeContent = 0x0047, ///< Setpoint Device Element Content specified as volume
		ActualVolumeContent = 0x0048, ///< Actual Device Element Content specified as volume
		MaximumVolumeContent = 0x0049, ///< Maximum Device Element Content specified as volume
		SetpointMassContent = 0x004A, ///< Setpoint Machine Element Content specified as mass
		ActualMassContent = 0x004B, ///< Actual Device Element Content specified as mass
		MaximumMassContent = 0x004C, ///< Maximum Device Element Content specified as mass
		SetpointCountContent = 0x004D, ///< Setpoint Device Element Content specified as count
		ActualCountContent = 0x004E, ///< Actual Device Element Content specified as count
		MaximumCountContent = 0x004F, ///< Maximum Device Element Content specified as count
		ApplicationTotalVolume_L = 0x0050, ///< Accumulated Application specified as volume in liter [L]
		ApplicationTotalMass_kg = 0x0051, ///< Accumulated Application specified as mass in kilogram [kg]
		ApplicationTotalCount = 0x0052, ///< Accumulated Application specified as count
		VolumePerAreaYield = 0x0053, ///< Yield as volume per area
		MassPerAreaYield = 0x0054, ///< Yield as mass per area, not corrected for the reference moisture percentage DDI 184.
		CountPerAreaYield = 0x0055, ///< Yield as count per area
		VolumePerTimeYield = 0x0056, ///< Yield as volume per time
		MassPerTimeYield = 0x0057, ///< Yield as mass per time, not corrected for the reference moisture percentage DDI 184.
		CountPerTimeYield = 0x0058, ///< Yield as count per time
		YieldTotalVolume = 0x0059, ///< Accumulated Yield specified as volume
		YieldTotalMass = 0x005A, ///< Accumulated Yield specified as mass, not corrected for the reference moisture percentage DDI 184.
		YieldTotalCount = 0x005B, ///< Accumulated Yield specified as count
		VolumePerAreaCropLoss = 0x005C, ///< Crop yield loss as volume per area
		MassPerAreaCropLoss = 0x005D, ///< Crop yield loss as mass per area
		CountPerAreaCropLoss = 0x005E, ///< Crop yield loss as count per area
		VolumePerTimeCropLoss = 0x005F, ///< Crop yield loss as volume per time
		MassPerTimeCropLoss = 0x0060, ///< Crop yield loss as mass per time
		CountPerTimeCropLoss = 0x0061, ///< Crop yield loss as count per time
		PercentageCropLoss = 0x0062, ///< Crop yield loss
		CropMoisture = 0x0063, ///< Moisture in crop yield
		CropContamination = 0x0064, ///< Dirt or foreign material in crop yield
		SetpointBaleWidth = 0x0065, ///< Setpoint Bale Width for square baler or round baler
		ActualBaleWidth = 0x0066, ///< Actual Bale Width for square baler or round baler
		DefaultBaleWidth = 0x0067, ///< Default Bale Width for square baler or round baler
		MinimumBaleWidth = 0x0068, ///< Minimum Bale Width for square baler or round baler
		MaximumBaleWidth = 0x0069, ///< Maximum Bale Width for square baler or round baler
		SetpointBaleHeight = 0x006A, ///< Setpoint Bale Height is only applicable to square baler
		ActualBaleHeight = 0x006B, ///< Actual Bale Height is only applicable to square baler
		DefaultBaleHeight = 0x006C, ///< Default Bale Height is only applicable to square baler
		MinimumBaleHeight = 0x006D, ///< Minimum Bale Height is only applicable to square baler
		MaximumBaleHeight = 0x006E, ///< Maximum Bale Height is only applicable to square baler
		SetpointBaleSize = 0x006F, ///< Setpoint Bale Size as length for a square baler or diameter for a round baler
		ActualBaleSize = 0x0070, ///< Actual Bale Size as length for a square baler or diameter for a round baler
		DefaultBaleSize = 0x0071, ///< Default Bale Size as length for a square baler or diameter for a round baler
		MinimumBaleSize = 0x0072, ///< Minimum Bale Size as length for a square baler or diameter for a round baler
		MaximumBaleSize = 0x0073, ///< Maximum Bale Size as length for a square baler or diameter for a round baler
		TotalArea = 0x0074, ///< Accumulated Area
		EffectiveTotalDistance = 0x0075, ///< Accumulated Distance in working position
		IneffectiveTotalDistance = 0x0076, ///< Accumulated Distance out of working position
		EffectiveTotalTime = 0x0077, ///< Accumulated Time in working position
		IneffectiveTotalTime = 0x0078, ///< Accumulated Time out of working position
		ProductDensityMassPerVolume = 0x0079, ///< Product Density as mass per volume
		ProductDensityMassPerCount = 0x007A, ///< Product Density as mass per count
		ProductDensityVolumePerCount = 0x007B, ///< Product Density as volume per count
		AuxiliaryValveScalingExtend = 0x007C, ///< Factor to apply to AuxValveCommand PortFlowCommand. The scaling of the port flow relates to flow, not to spool position, although the position of the spool is of course indirectly affected.
		AuxiliaryValveScalingRetract = 0x007D, ///< Factor to apply to AuxValveCommand PortFlowCommand. The scaling of the port flow relates to flow, not to spool position, although the position of the spool is of course indirectly affected.
		AuxiliaryValveRampExtendUp = 0x007E, ///< The valve will apply a ramp to the Auxiliary ValveCommand PortFlowCommand, to limit the acceleration or deceleration of flow. The valve must apply the ramp to create a linear increase/decrease of flow over time.
		AuxiliaryValveRampExtendDown = 0x007F, ///< The valve will apply a ramp to the Auxiliary ValveCommand PortFlowCommand, to limit the acceleration or deceleration of flow. The valve must apply the ramp to create a linear increase/decrease of flow over time.
		AuxiliaryValveRampRetractUp = 0x0080, ///< The valve will apply a ramp to theAuxiliary ValveCommand PortFlowCommand, to limit the acceleration or deceleration of flow. The valve must apply the ramp to create a linear increase/decrease of flow over time.
		AuxiliaryValveRampRetractDown = 0x0081, ///< The valve will apply a ramp to the Auxiliary ValveCommand PortFlowCommand, to limit the acceleration or deceleration of flow. The valve must apply the ramp to create a linear increase/decrease of flow over time.
		AuxiliaryValveFloatThreshold = 0x0082, ///< Safety function. Current output of valve must be above threshold before float command is allowed.
		AuxiliaryValveProgressivityExtend = 0x0083, ///< Define non-linear relationship between command and flow by 2nd degree polynomial
		AuxiliaryValveProgressivityRetract = 0x0084, ///< Define non-linear relationship between command and flow by 2nd degree polynomial
		AuxiliaryValveInvertPorts = 0x0085, ///< Tell valve to swap extend and retract ports, easier than redoing plumbing on valve
		DeviceElementOffsetX = 0x0086, ///< X direction offset of a DeviceElement relative to a Device.
		DeviceElementOffsetY = 0x0087, ///< Y direction offset of a DeviceElement relative to a Device.
		DeviceElementOffsetZ = 0x0088, ///< Z direction offset of a DeviceElement relative to a Device.
		DeviceVolumeCapacity = 0x0089, ///< DeviceElement Volume Capacity, dimension of a DeviceElement
		DeviceMassCapacity = 0x008A, ///< DeviceElement Mass Capacity, dimension of a DeviceElement
		DeviceCountCapacity = 0x008B, ///< DeviceElement Count Capacity, dimension of a DeviceElement
		SetpointPercentageApplicationRate = 0x008C, ///< Application Rate expressed as percentage
		ActualWorkState = 0x008D, ///< Actual Work State, 2 bits defined as 00=disabled/off, 01=enabled/on, 10=error, 11=undefined/not installed
		PhysicalSetpointTimeLatency = 0x008E, ///< The Setpoint Value Latency Time is the time lapse between the moment of reception of a setpoint value command by the working set and the moment this setpoint value is physically applied on the device.
		PhysicalActualValueTimeLatency = 0x008F, ///< The Actual Value Latency Time is the time lapse between the moment this actual value is communicated to the Task Controller, and the moment that this actual value is physically applied on the device.
		YawAngle = 0x0090, ///< Pivot / Yaw Angle of a DeviceElement
		RollAngle = 0x0091, ///< Roll Angle of a DeviceElement
		PitchAngle = 0x0092, ///< Pitch Angle of a DeviceElement
		LogCount = 0x0093, ///< Log Counter, may be used to control data log record generation on a Task Controller
		TotalFuelConsumption = 0x0094, ///< Accumulated Fuel Consumption as Counter
		InstantaneousFuelConsumptionPerTime = 0x0095, ///< Fuel consumption per time
		InstantaneousFuelConsumptionPerArea = 0x0096, ///< Fuel consumption per area
		InstantaneousAreaPerTimeCapacity = 0x0097, ///< Area per time capacity
		ActualNormalizedDifferenceVegetativeIndexNDVI = 0x0099, ///< The Normalized Difference Vegetative Index (NDVI) computed from crop reflectances
		PhysicalObjectLength = 0x009A, ///< Length of device element (dimension along the X-axis)
		PhysicalObjectWidth = 0x009B, ///< Width of device element (dimension along the Y-axis)
		PhysicalObjectHeight = 0x009C, ///< Height of device element (dimension along the Z-axis)
		ConnectorType = 0x009D, ///< Specification of the type of coupler. See isobus.net for the enumerated values
		PrescriptionControlState = 0x009E, ///< Defines and synchronizes the actual state of the prescription system
		NumberOfSubUnitsPerSection = 0x009F, ///< Specifies the number of sub-units for a section (e.g. number of nozzles per sprayer section or number of planter row units per metering device).
		SectionControlState = 0x00A0, ///< Specifies the actual state of section control
		ActualCondensedWorkState1_16 = 0x00A1, ///< Combination of the actual work states of individual sections or units (e.g. nozzles) number 1 to 16 into a single actual work state of their parent device element.
		ActualCondensedWorkState17_32 = 0x00A2, ///< Combination of the actual work states of individual sections or units (e.g. nozzles) number 17 to 32 into a single actual work state of their parent device element
		ActualCondensedWorkState33_48 = 0x00A3, ///< Combination of the actual work states of individual sections or units (e.g. nozzles) number 33 to 48 into a single actual work state of their parent device element
		ActualCondensedWorkState49_64 = 0x00A4, ///< Combination of the actual work states of individual sections or units (e.g. nozzles) number 49 to 64 into a single actual work state of their parent device element
		ActualCondensedWorkState65_80 = 0x00A5, ///< Combination of the actual work states of individual sections or units (e.g. nozzles) number 65 to 80 into a single actual work state of their parent device element.
		ActualCondensedWorkState81_96 = 0x00A6, ///< Combination of the actual work states of individual sections or units (e.g. nozzles) number 81 to 96 into a single actual work state of their parent device element.
		ActualCondensedWorkState97_112 = 0x00A7, ///< Combination of the actual work states of individual sections or units (e.g. nozzles) number 97 to 112 into a single actual work state of their parent device element.
		ActualCondensedWorkState113_128 = 0x00A8, ///< Combination of the actual work states of individual sections or units (e.g. nozzles) number 113 to 128 into a single actual work state of their parent device element.
		ActualCondensedWorkState129_144 = 0x00A9, ///< Combination of the actual work states of individual sections or units (e.g. nozzles) number 129 to 144 into a single actual work state of their parent device element.
		ActualCondensedWorkState145_160 = 0x00AA, ///< Combination of the actual work states of individual sections or units (e.g. nozzles) number 145 to 160 into a single actual work state of their parent device element.
		ActualCondensedWorkState161_176 = 0x00AB, ///< Combination of the actual work states of individual sections or units (e.g. nozzles) number 161 to 176 into a single actual work state of their parent device element.
		ActualCondensedWorkState177_192 = 0x00AC, ///< Combination of the actual work states of individual sections or units (e.g. nozzles) number 177 to 192 into a single actual work state of their parent device element.
		ActualCondensedWorkState193_208 = 0x00AD, ///< Combination of the actual work states of individual sections or units (e.g. nozzles) number 193 to 208 into a single actual work state of their parent device element.
		ActualCondensedWorkState209_224 = 0x00AE, ///< Combination of the actual work states of individual sections or units (e.g. nozzles) number 209 to 224 into a single actual work state of their parent device element.
		ActualCondensedWorkState225_240 = 0x00AF, ///< Combination of the actual work states of individual sections or units (e.g. nozzles) number 225 to 240 into a single actual work state of their parent device element.
		ActualCondensedWorkState241_256 = 0x00B0, ///< Combination of the actual work states of individual sections or units (e.g. nozzles) number 241 to 256 into a single actual work state of their parent device element.
		ActualLengthOfCut = 0x00B1, ///< Actual length of cut for harvested material, e.g. Forage Harvester or Tree Harvester.
		ElementTypeInstance = 0x00B2, ///< This DDI is used to enumerate and identify multiple device elements (DET) of the same type within one Device Description object pool. The value of this DDI is independent of the DET number.
		ActualCulturalPractice = 0x00B3, ///< This DDI is used to define the current cultural practice which is performed by an individual device operation. For instance a planter/seeder could provide a sowing and a fertilizing operation at the same time.
		DeviceReferencePointDRPtoGroundDistance = 0x00B4, ///< This DDI is used to specify the distance from the Device Reference Point (DRP) down to the ground surface
		DryMassPerAreaYield = 0x00B5, ///< Actual Dry Mass Per Area Yield. The definition of dry mass is the mass with a reference moisture specified by DDI 184.
		DryMassPerTimeYield = 0x00B6, ///< Actual Dry Mass Per Time Yield. The definition of dry mass is the mass with a reference moisture specified by DDI 184.
		YieldTotalDryMass = 0x00B7, ///< Accumulated Yield specified as dry mass. The definition of dry mass is the mass with a reference moisture specified by DDI 184.
		ReferenceMoistureForDryMass = 0x00B8, ///< Moisture percentage used for the dry mass DDIs 181, 182 and 183.
		SeedCottonMassPerAreaYield = 0x00B9, ///< Seed cotton yield as mass per area, not corrected for a possibly included lint percentage.
		LintCottonMassPerAreaYield = 0x00BA, ///< Lint cotton yield as mass per area.
		SeedCottonMassPerTimeYield = 0x00BB, ///< Seed cotton yield as mass per time, not corrected for a possibly included lint percentage.
		LintCottonMassPerTimeYield = 0x00BC, ///< Lint cotton yield as mass per time.
		YieldTotalSeedCottonMass = 0x00BD, ///< Accumulated yield specified as seed cotton mass, not corrected for a possibly included lint percentage.
		YieldTotalLintCottonMass = 0x00BE, ///< Accumulated yield specified as lint cotton mass.
		LintTurnoutPercentage = 0x00BF, ///< Percent of lint in the seed cotton.
		AmbientTemperature = 0x00C0, ///< Ambient temperature measured by a machine. Unit is milli-Kelvin (mK).
		SetpointProductPressure = 0x00C1, ///< Setpoint Product Pressure to adjust the pressure of the product flow system at the point of dispensing.
		ActualProductPressure = 0x00C2, ///< Actual Product Pressure is the measured pressure in the product flow system at the point of dispensing.
		MinimumProductPressure = 0x00C3, ///< Minimum Product Pressure in the product flow system at the point of dispensing.
		MaximumProductPressure = 0x00C4, ///< Maximum Product Pressure in the product flow system at the point of dispensing.
		SetpointPumpOutputPressure = 0x00C5, ///< Setpoint Pump Output Pressure to adjust the  pressure at the output of the solution pump.
		ActualPumpOutputPressure = 0x00C6, ///< Actual Pump Output Pressure measured at the output of the solution pump.
		MinimumPumpOutputPressure = 0x00C7, ///< Minimum Pump Output Pressure for the output pressure of the solution pump.
		MaximumPumpOutputPressure = 0x00C8, ///< Maximum Pump Output Pressure for the output pressure of the solution pump.
		SetpointTankAgitationPressure = 0x00C9, ///< Setpoint Tank Agitation Pressure to adjust the pressure for a stir system in a tank.
		ActualTankAgitationPressure = 0x00CA, ///< Actual Tank Agitation Pressure measured by the tank stir system.
		MinimumTankAgitationPressure = 0x00CB, ///< Minimum Tank Agitation Pressure for a stir system in a tank.
		MaximumTankAgitationPressure = 0x00CC, ///< Maximum Tank Agitation Pressure for a stir system in a tank.
		SCTurnOnTime = 0x00CD, ///< The Section Control Turn On Time defines the overall time lapse between the moment the TC sends a turn on section command to the working set and the moment this section is physically turned on and the product is applied.
		SCTurnOffTime = 0x00CE, ///< The Section Control Turn Off Time defines the overall time lapse between the moment the TC sends a turn off section command to the working set and the moment this section is physically turned off.
		WindSpeed = 0x00CF, ///< Wind speed measured in the treated field at the beginning of operations or on the application implement during operations
		WindDirection = 0x00D0, ///< Wind direction measured in the treated field at the beginning of operations or on the application implement during operations.
		AirHumidity = 0x00D1, ///< Ambient humidty measured by a weather station in a treated field or on the application implement.
		SkyConditions = 0x00D2, ///< This DDE is used to define the current sky conditions during operation. The METAR format and its abbreviations is used
		LastBaleFlakesPerBale = 0x00D3, ///< The number of flakes in the most recently produced bale.
		LastBaleAverageMoisture = 0x00D4, ///< The average moisture in the most recently produced bale.
		LastBaleAverageStrokesPerFlake = 0x00D5, ///< The number of baler plunger compression strokes per flake that has entered the bale compression chamber. This value is the average valid for the most recently produced bale.
		LifetimeBaleCount = 0x00D6, ///< The number of bales produced by a machine over its entire lifetime. This DDE value can not be set through the process data interface but can be requested and added to a data log.
		LifetimeWorkingHours = 0x00D7, ///< The number of working hours of a device element over its entire lifetime. This DDE value can not be set through the process data interface but can be requested and added to a data log.
		ActualBaleHydraulicPressure = 0x00D8, ///< The actual value of the hydraulic pressure applied to the sides of the bale in the bale compression chamber.
		LastBaleAverageHydraulicPressure = 0x00D9, ///< The average actual value of the hydraulic pressure applied to the sides of the bale in the bale compression chamber. This average is calculated over the most recently produced bale.
		SetpointBaleCompressionPlungerLoad = 0x00DA, ///< The setpoint bale compression plunger load as a unitless number.
		ActualBaleCompressionPlungerLoad = 0x00DB, ///< The actual bale compression plunger load as a unitless number.
		LastBaleAverageBaleCompressionPlungerLoad = 0x00DC, ///< The average bale compression plunger load for the most recently produced bale.
		LastBaleAppliedPreservative = 0x00DD, ///< The total preservative applied to the most recently produced bale.
		LastBaleTagNumber = 0x00DE, ///< The Last Bale Tag Number as a decimal number in the range of 0 to 4294967295. Note that the value of this DDI has the limitation of being an unsigned 32 bit number.
		LastBaleMass = 0x00DF, ///< The mass of the bale that has most recently been produced.
		DeltaT = 0x00E0, ///< The difference between dry bulb temperature and wet bulb temperature measured by a weather station in a treated field or on the application equipment.
		SetpointWorkingLength = 0x00E1, ///< Setpoint Working Length of Device Element.
		ActualWorkingLength = 0x00E2, ///< Actual Working Length of a Device Element.
		MinimumWorkingLength = 0x00E3, ///< Minimum Working Length of Device Element.
		MaximumWorkingLength = 0x00E4, ///< Maximum Working Length of Device Element.
		ActualNetWeight = 0x00E5, ///< Actual Net Weight value specified as mass
		NetWeightState = 0x00E6, ///< Net Weight State
		SetpointNetWeight = 0x00E7, ///< Setpoint Net Weight value.
		ActualGrossWeight = 0x00E8, ///< Actual Gross Weight value specified as mass
		GrossWeightState = 0x00E9, ///< Gross Weight State
		MinimumGrossWeight = 0x00EA, ///< Minimum Gross Weight specified as mass.
		MaximumGrossWeight = 0x00EB, ///< Maximum Gross Weight specified as mass.
		ThresherEngagementTotalTime = 0x00EC, ///< Accumulated time while the threshing mechanism is engaged
		ActualHeaderWorkingHeightStatus = 0x00ED, ///< Actual status of the header being above or below the threshold height for the in-work state.
		ActualHeaderRotationalSpeedStatus = 0x00EE, ///< Actual status of the header rotational speed being above or below the threshold for in-work state.
		YieldHoldStatus = 0x00EF, ///< Status indicator for the yield measurement system. When enabled/on, the measurements from the yield measurement system are ignored and the yield is held constant.
		ActualUnLoadingSystemStatus = 0x00F0, ///< Actual status of the Unloading and/or Loading system.  This DDE covers both Unloading and Loading of the device element wherein it is listed.
		CropTemperature = 0x00F1, ///< Temperature of harvested crop
		SetpointSieveClearance = 0x00F2, ///< Setpoint separation distance between Sieve elements
		ActualSieveClearance = 0x00F3, ///< Actual separation distance between Sieve elements
		MinimumSieveClearance = 0x00F4, ///< Minimal separation distance between Sieve elements
		MaximumSieveClearance = 0x00F5, ///< Maximum separation distance between Sieve elements.
		SetpointChafferClearance = 0x00F6, ///< Setpoint separation distance between Chaffer elements.
		ActualChafferClearance = 0x00F7, ///< Actual separation distance between Chaffer elements.
		MinimumChafferClearance = 0x00F8, ///< Minimum separation distance between Chaffer elements.
		MaximumChafferClearance = 0x00F9, ///< Maximum separation distance between Chaffer elements.
		SetpointConcaveClearance = 0x00FA, ///< Setpoint separation distance between Concave elements.
		ActualConcaveClearance = 0x00FB, ///< Actual separation distance between Concave elements.
		MinimumConcaveClearance = 0x00FC, ///< Minimum separation distance between Concave elements.
		MaximumConcaveClearance = 0x00FD, ///< Maximum separation distance between Concave elements.
		SetpointSeparationFanRotationalSpeed = 0x00FE, ///< Setpoint rotational speed of the fan used for separating product material from non product material.
		ActualSeparationFanRotationalSpeed = 0x00FF, ///< Actual rotational speed of the fan used for separating product material from non product material.
		MinimumSeparationFanRotationalSpeed = 0x0100, ///< Minimum rotational speed of the fan used for separating product material from non product material.
		MaximumSeparationFanRotationalSpeed = 0x0101, ///< Maximum rotational speed of the fan used for separating product material from non product material.
		HydraulicOilTemperature = 0x0102, ///< Temperature of fluid in the hydraulic system.
		YieldLagIgnoreTime = 0x0103, ///< Amount of time to ignore yield data, starting at the transition from the in-work to the out-of-work state. During this time, the yield sensor provides inconsistent or unreliable crop flow data.
		YieldLeadIgnoreTime = 0x0104, ///< Amount of time to ignore yield data, starting at the transition from the out-of-work to the in-work state. During this time, the yield sensor provides inconsistent or unreliable crop flow data.
		AverageYieldMassPerTime = 0x0105, ///< Average Yield expressed as mass per unit time, not corrected for the reference moisture percentage DDI 184. This value is the average for a Task and may be reported as a total.
		AverageCropMoisture = 0x0106, ///< Average Moisture of the harvested crop. This value is the average for a Task and may be reported as a total.
		AverageYieldMassPerArea = 0x0107, ///< Average Yield expressed as mass per unit area, not corrected for the reference moisture percentage DDI 184. This value is the average for a Task and may be reported as a total.
		ConnectorPivotXOffset = 0x0108, ///< X direction offset of a connector pivot point  relative to DRP.
		RemainingArea = 0x0109, ///< Remaining Area of a field, which is calculated from the total area and the processed area.
		LifetimeApplicationTotalMass = 0x010A, ///< Entire Application Total Mass of the device lifetime.
		LifetimeApplicationTotalCount = 0x010B, ///< Entire Application Total Count of the device lifetime.
		LifetimeYieldTotalVolume = 0x010C, ///< Entire Yield Total Volume of the device lifetime.
		LifetimeYieldTotalMass = 0x010D, ///< Entire Yield Total Mass of the device lifetime.
		LifetimeYieldTotalCount = 0x010E, ///< Entire Yield Total Count of the device lifetime.
		LifetimeTotalArea = 0x010F, ///< Entire Total Area of the device lifetime.
		LifetimeEffectiveTotalDistance = 0x0110, ///< Entire Total Distance of the device lifetime.
		LifetimeIneffectiveTotalDistance = 0x0111, ///< Entire Ineffective Total Distance of the device lifetime.
		LifetimeEffectiveTotalTime = 0x0112, ///< Entire Effective Total Time of the device lifetime.
		LifetimeIneffectiveTotalTime = 0x0113, ///< Entire Ineffective Total Time of the device lifetime.
		LifetimeFuelConsumption = 0x0114, ///< Entire Fuel Consumption of the device lifetime.
		LifetimeAverageFuelConsumptionPerTime = 0x0115, ///< Entire Average Fuel Consumption per Time of the device lifetime.
		LifetimeAverageFuelConsumptionPerArea = 0x0116, ///< Entire Average Fuel Consumption per Area of the device lifetime.
		LifetimeYieldTotalDryMass = 0x0117, ///< Entire Yield Total Dry Mass of the device lifetime.
		LifetimeYieldTotalSeedCottonMass = 0x0118, ///< Entire Yield Total Seed Cotton Mass of the device lifetime.
		LifetimeYieldTotalLintCottonMass = 0x0119, ///< Entire Yield Total Lint Cotton Mass of the device lifetime.
		LifetimeThreshingEngagementTotalTime = 0x011A, ///< Entire Threshing Engagement Total Time of the device lifetime.
		PrecutTotalCount = 0x011B, ///< The total number of pre-cut product units produced by a device during an operation.
		UncutTotalCount = 0x011C, ///< The total number of un-cut product units produced by a device during an operation.
		LifetimePrecutTotalCount = 0x011D, ///< Entire Precut Total Count of the device lifetime.
		LifetimeUncutTotalCount = 0x011E, ///< Entire Uncut Total Count of the device lifetime.
		SetpointPrescriptionMode = 0x011F, ///< This DDE defines the source of the Task Controller set point value sent to the Control Function.
		ActualPrescriptionMode = 0x0120, ///< This DDE defines the actual source of the set point value used by the Control Function.
		SetpointWorkState = 0x0121, ///< The Setpoint Work State DDI is the control command counterparts to the Work State DDI (141).
		SetpointCondensedWorkState1_16 = 0x0122, ///< The value is a combination of the setpoint work states of individual sections or units (e.g. nozzles) number 1 to 16 into a single setpoint work state of their parent device element.
		SetpointCondensedWorkState17_32 = 0x0123, ///< The value is a combination of the setpoint work states of individual sections or units (e.g. nozzles) number 17 to 32 into a single setpoint work state of their parent device element.
		SetpointCondensedWorkState33_48 = 0x0124, ///< The value is a combination of the setpoint work states of individual sections or units (e.g. nozzles) number 33 to 48 into a single setpoint work state of their parent device element.
		SetpointCondensedWorkState49_64 = 0x0125, ///< The value is a combination of the setpoint work states of individual sections or units (e.g. nozzles) number 49 to 64 into a single setpoint work state of their parent device element.
		SetpointCondensedWorkState65_80 = 0x0126, ///< The value is a combination of the setpoint work states of individual sections or units (e.g. nozzles) number 65 to 80 into a single setpoint work state of their parent device element.
		SetpointCondensedWorkState81_96 = 0x0127, ///< The value is a combination of the setpoint work states of individual sections or units (e.g. nozzles) number 81 to 96 into a single setpoint work state of their parent device element.
		SetpointCondensedWorkState97_112 = 0x0128, ///< The value is a combination of the setpoint work states of individual sections or units (e.g. nozzles) number 97 to 112 into a single setpoint work state of their parent device element.
		SetpointCondensedWorkState113_128 = 0x0129, ///< The value is a combination of the setpoint work states of individual sections or units (e.g. nozzles) number 113 to 128 into a single setpoint work state of their parent device element.
		SetpointCondensedWorkState129_144 = 0x012A, ///< The value is a combination of the setpoint work states of individual sections or units (e.g. nozzles) number 129 to 144 into a single setpoint work state of their parent device element.
		SetpointCondensedWorkState145_160 = 0x012B, ///< The value is a combination of the setpoint work states of individual sections or units (e.g. nozzles) number 145 to 160 into a single setpoint work state of their parent device element.
		SetpointCondensedWorkState161_176 = 0x012C, ///< The value is a combination of the setpoint work states of individual sections or units (e.g. nozzles) number 161 to 176 into a single setpoint work state of their parent device element.
		SetpointCondensedWorkState177_192 = 0x012D, ///< The value is a combination of the setpoint work states of individual sections or units (e.g. nozzles) number 177 to 192 into a single setpoint work state of their parent device element.
		SetpointCondensedWorkState193_208 = 0x012E, ///< The value is a combination of the setpoint work states of individual sections or units (e.g. nozzles) number 193 to 208 into a single setpoint work state of their parent device element.
		SetpointCondensedWorkState209_224 = 0x012F, ///< The value is a combination of the setpoint work states of individual sections or units (e.g. nozzles) number 209 to 224 into a single setpoint work state of their parent device element.
		SetpointCondensedWorkState225_240 = 0x0130, ///< The value is a combination of the setpoint work states of individual sections or units (e.g. nozzles) number 225 to 240 into a single setpoint work state of their parent device element.
		SetpointCondensedWorkState241_256 = 0x0131, ///< The value is a combination of the setpoint work states of individual sections or units (e.g. nozzles) number 241 to 256 into a single setpoint work state of their parent device element.
		TrueRotationPointXOffset = 0x0132, ///< X direction offset of the device rotation point relative to the DRP.
		TrueRotationPointYOffset = 0x0133, ///< Y direction offset of the device rotation point relative to the DRP.
		ActualPercentageApplicationRate = 0x0134, ///< Actual Application Rate expressed as percentage
		MinimumPercentageApplicationRate = 0x0135, ///< Minimum Application Rate expressed as percentage
		MaximumPercentageApplicationRate = 0x0136, ///< Maximum Application Rate expressed as percentage
		RelativeYieldPotential = 0x0137, ///< Relative yield potential provided by a FMIS or a sensor or entered by the operator for a certain task expressed as percentage.
		MinimumRelativeYieldPotential = 0x0138, ///< Minimum potential yield expressed as percentage.
		MaximumRelativeYieldPotential = 0x0139, ///< Maximum potential yield expressed as percentage.
		ActualPercentageCropDryMatter = 0x013A, ///< Actual Percentage Crop Dry Matter expressed as parts per million.
		AveragePercentageCropDryMatter = 0x013B, ///< Average Percentage Crop Dry Matter expressed as parts per million.
		EffectiveTotalFuelConsumption = 0x013C, ///< Accumulated total fuel consumption in working position.
		IneffectiveTotalFuelConsumption = 0x013D, ///< Accumulated total fuel consumption in non working position.
		EffectiveTotalDieselExhaustFluidConsumption = 0x013E, ///< Accumulated total Diesel Exhaust Fluid consumption in working position.
		IneffectiveTotalDieselExhaustFluidConsumption = 0x013F, ///< Accumulated total Diesel Exhaust Fluid consumption in non working position.
		LastLoadedWeight = 0x0140, ///< Last loaded Weight value specified as mass
		LastUnloadedWeight = 0x0141, ///< Last unloaded Weight value specified as mass
		LoadIdentificationNumber = 0x0142, ///< The Load Identification Number as a decimal number in the range of 0 to 4294967295. Note that the value of this DDI has the limitation of being an unsigned 32 bit number.
		UnloadIdentificationNumber = 0x0143, ///< The Unload Identification Number as a decimal number in the range of 0 to 2147483647. Note that the value of this DDI has the limitation of being an unsigned 32 bit number.
		ChopperEngagementTotalTime = 0x0144, ///< Accumulated time while the chopping mechanism is engaged
		LifetimeApplicationTotalVolume = 0x0145, ///< Entire Application Total Volume of the device lifetime.
		SetpointHeaderSpeed = 0x0146, ///< The setpoint rotational speed of the header attachment of a chopper, mower or combine
		ActualHeaderSpeed = 0x0147, ///< The actual rotational speed of the header attachment of a chopper, mower or combine
		MinimumHeaderSpeed = 0x0148, ///< The minimum rotational speed of the header attachment of a chopper, mower or combine
		MaximumHeaderSpeed = 0x0149, ///< The maximum rotational speed of the header attachment of a chopper, mower or combine
		SetpointCuttingDrumSpeed = 0x014A, ///< The setpoint speed of the cutting drum of a chopper
		ActualCuttingDrumSpeed = 0x014B, ///< The actual speed of the cutting drum of a chopper
		MinimumCuttingDrumSpeed = 0x014C, ///< The minimum speed of the cutting drum of a chopper
		MaximumCuttingDrumSpeed = 0x014D, ///< The maximum speed of the cutting drum of a chopper
		OperatingHoursSinceLastSharpening = 0x014E, ///< This value describes the working hours since the last sharpening of the cutting device.
		FrontPTOhours = 0x014F, ///< The hours the Front PTO of the machine was running for the current Task
		RearPTOhours = 0x0150, ///< The hours the Rear PTO of the machine was running for the current Task
		LifetimeFrontPTOhours = 0x0151, ///< The hours the Front PTO of the machine was running for the lifetime of the machine
		LifetimeRearPTOHours = 0x0152, ///< The hours the Rear PTO of the machine was running for the lifetime of the machine
		EffectiveTotalLoadingTime = 0x0153, ///< The total time needed in the current task to load a product such as crop.
		EffectiveTotalUnloadingTime = 0x0154, ///< The total time needed in the current task to unload a product crop.
		SetpointGrainKernelCrackerGap = 0x0155, ///< The setpoint gap (distance) of the grain kernel cracker drums in a chopper.
		ActualGrainKernelCrackerGap = 0x0156, ///< The actual gap (distance) of the grain kernel cracker drums in a chopper
		MinimumGrainKernelCrackerGap = 0x0157, ///< The minimum gap (distance) of the grain kernel cracker drums in a chopper
		MaximumGrainKernelCrackerGap = 0x0158, ///< The maximum gap (distance) of the grain kernel cracker drums in a chopper
		SetpointSwathingWidth = 0x0159, ///< This is the setpoint swathing width of the swath created by a raker.
		ActualSwathingWidth = 0x015A, ///< This is the width of the swath currently created by a raker.
		MinimumSwathingWidth = 0x015B, ///< This is the minimum swath width the raker can create.
		MaximumSwathingWidth = 0x015C, ///< This is the maximum with of the swath the raker can create.
		NozzleDriftReduction = 0x015D, ///< The Nozzle Drift Reduction classification value of the spraying equipment as percentage
		FunctionOrOperationTechnique = 0x015E, ///< The Function or Operation Technique DDE can be used to define the operation technique or functionality performed by a device element defined within the DDOP
		ApplicationTotalVolume_ml = 0x015F, ///< Accumulated Application specified as volume in milliliter [ml]
		ApplicationTotalMassGram_g = 0x0160, ///< Accumulated Application specified as mass in gram [g]
		TotalApplicationOfNitrogen = 0x0161, ///< Accumulated application of nitrogen [N2] specified as gram [g]
		TotalApplicationOfAmmonium = 0x0162, ///< Accumulated  application of ammonium [NH4] specified as gram [g]
		TotalApplicationOfPhosphor = 0x0163, ///< Accumulated application of phosphor (P2O5) specified as gram [g]
		TotalApplicationOfPotassium = 0x0164, ///< Accumulated application of potassium (K2) specified as gram [g]
		TotalApplicationOfDryMatter = 0x0165, ///< Accumulated application of dry matter  in kilogram [kg]. Dry matter measured at zero percent of moisture
		AverageDryYieldMassPerTime = 0x0166, ///< Average Yield expressed as mass per unit time, corrected for the reference moisture percentage DDI 184. This value is the average for a Task and may be reported as a total.
		AverageDryYieldMassPerArea = 0x0167, ///< Average Yield expressed as mass per unit area, corrected for the reference moisture percentage DDI 184. This value is the average for a Task and may be reported as a total
		LastBaleSize = 0x0168, ///< The bale size of the most recently produced bale. Bale Size as length for a square baler or diameter for a round baler.
		LastBaleDensity = 0x0169, ///< The bale density of the most recently produced bale. Unit : mg / l(mass per unit volume)
		TotalBaleLength = 0x016A, ///< Gives the total baled meters during a task. This is calculated as the sum of the lengths of all knotted bales (square baler).
		LastBaleDryMass = 0x016B, ///< The dry mass of the bale that has most recently been produced. This is the bale mass corrected for the average moisture of this bale (DDI 212).
		ActualFlakeSize = 0x016C, ///< Actual size of the flake that is currently produced by the chamber.
		SetpointDownForcePressure = 0x016D, ///< Setpoint downforce pressure for an operation
		ActualDownForcePressure = 0x016E, ///< Actual downforce pressure for an operation
		CondensedSectionOverrideState1_16 = 0x016F, ///< This DDE is used by the implement to communicate that a certain section is overridden and will not follow the section control commands.
		CondensedSectionOverrideState17_32 = 0x0170, ///< This DDE is used by the implement to communicate that a certain section is overridden and will not follow the section control commands.
		CondensedSectionOverrideState33_48 = 0x0171, ///< This DDE is used by the implement to communicate that a certain section is overridden and will not follow the section control commands
		CondensedSectionOverrideState49_64 = 0x0172, ///< This DDE is used by the implement to communicate that a certain section is overridden and will not follow the section control commands
		CondensedSectionOverrideState65_80 = 0x0173, ///< This DDE is used by the implement to communicate that a certain section is overridden and will not follow the section control commands
		CondensedSectionOverrideState81_96 = 0x0174, ///< This DDE is used by the implement to communicate that a certain section is overridden and will not follow the section control commands
		CondensedSectionOverrideState97_112 = 0x0175, ///< This DDE is used by the implement to communicate that a certain section is overridden and will not follow the section control commands
		CondensedSectionOverrideState113_128 = 0x0176, ///< This DDE is used by the implement to communicate that a certain section is overridden and will not follow the section control commands
		CondensedSectionOverrideState129_144 = 0x0177, ///< This DDE is used by the implement to communicate that a certain section is overridden and will not follow the section control commands
		CondensedSectionOverrideState145_160 = 0x0178, ///< This DDE is used by the implement to communicate that a certain section is overridden and will not follow the section control commands
		CondensedSectionOverrideState161_176 = 0x0179, ///< This DDE is used by the implement to communicate that a certain section is overridden and will not follow the section control commands
		CondensedSectionOverrideState177_192 = 0x017A, ///< This DDE is used by the implement to communicate that a certain section is overridden and will not follow the section control commands
		CondensedSectionOverrideState193_208 = 0x017B, ///< This DDE is used by the implement to communicate that a certain section is overridden and will not follow the section control commands
		CondensedSectionOverrideState209_224 = 0x017C, ///< This DDE is used by the implement to communicate that a certain section is overridden and will not follow the section control commands
		CondensedSectionOverrideState225_240 = 0x017D, ///< This DDE is used by the implement to communicate that a certain section is overridden and will not follow the section control commands
		CondensedSectionOverrideState241_256 = 0x017E, ///< This DDE is used by the implement to communicate that a certain section is overridden and will not follow the section control commands
		ApparentWindDirection = 0x017F, ///< The apparent wind is the wind which is measured on a moving vehicle. It is the result of two motions: the actual true wind and the motion of the vehicle.
		ApparentWindSpeed = 0x0180, ///< The apparent wind is the wind which is measured on a moving vehicle. It is the result of two motions: the actual true wind and the motion of the vehicle.
		MSLAtmosphericPressure = 0x0181, ///< The atmospheric pressure MSL (Mean Sea Level) is the air pressure related to mean sea level.
		ActualAtmosphericPressure = 0x0182, ///< The Actual Atmospheric Pressure is the air pressure currently measured by the weather station.
		TotalRevolutionsInFractionalRevolutions = 0x0183, ///< Accumulated Revolutions specified with fractional revolutions
		TotalRevolutionsInCompleteRevolutions = 0x0184, ///< Accumulated Revolutions specified as completed integer revolutions
		SetpointRevolutionsSpecifiedAsCountPerTime = 0x0185, ///< Setpoint Revolutions specified as count per time
		ActualRevolutionsPerTime = 0x0186, ///< Actual Revolutions specified as count per time
		DefaultRevolutionsPerTime = 0x0187, ///< Default Revolutions specified as count per time
		MinimumRevolutionsPerTime = 0x0188, ///< Minimum Revolutions specified as count per time
		MaximumRevolutionsPerTime = 0x0189, ///< Maximum Revolutions specified as count per time
		ActualFuelTankContent = 0x018A, ///< The actual content of the fuel tank
		ActualDieselExhaustFluidTankContent = 0x018B, ///< The actual content of the diesel exhaust fluid tank
		SetpointSpeed = 0x018C, ///< The setpoint speed that can be specified in a process data variable for communication between farm management information systems and mobile implement control systems.
		ActualSpeed = 0x018D, ///< The actual speed as measured on or used by a device for the execution of task based data, e.g. to convert a setpoint rate expressed per area to device specific control data that is expressed as a rate per time.
		MinimumSpeed = 0x018E, ///< The minimum speed that can be specified in a process data variable for communication between farm management information systems and mobile implement control systems
		MaximumSpeed = 0x018F, ///< The maximum speed that can be specified in a process data variable for communication between farm management information systems and mobile implement control systems.
		SpeedSource = 0x0190, ///< The Speed Source that the device uses to report actual speed and to process the setpoint, minimum and maximum speeds. See isobus.net
		ActualApplicationOfNitrogen = 0x0191, ///< Actual application of Nitrogen [N2] specified as milligram per liter [mg/l]
		ActualApplicationOfAmmonium = 0x0192, ///< Actual application of Ammonium [NH4] specified as milligram per liter [mg/l]
		ActualApplicationOfPhosphor = 0x0193, ///< Actual application of Phosphor [P2O5] specified as milligram per liter [mg/l]
		ActualApplicationOfPotassium = 0x0194, ///< Actual application of Potassium [K2] specified as gram [g]
		ActualApplicationOfDryMatter = 0x0195, ///< Actual application of Dry Matter in kilogram [kg]. Dry matter measured at Zero percent of moisture.
		ActualProteinContent = 0x0196, ///< Actual Protein content of a harvested crops
		AverageProteinContent = 0x0197, ///< Average protein content in a harvested crop
		AverageCropContamination = 0x0198, ///< Average amount of dirt or foreign  in a harvested crop
		TotalDieselExhaustFluidConsumption = 0x0199, ///< Accumulated Diesel Exhaust Fluid Consumption as a Task Total.
		InstantaneousDieselExhaustFluidConsumptionperTime = 0x019A, ///< Diesel Exhaust Fluid consumption per time
		InstantaneousDieselExhaustFluidConsumptionperArea = 0x019B, ///< Diesel Exhaust Fluid consumption per area
		LifetimeDieselExhaustFluidConsumption = 0x019C, ///< Accumulated Diesel Exhaust Fluid Consumption over the entire lifetime of the device.
		LifetimeAverageDieselExhaustFluidConsumptionperTime = 0x019D, ///< Average Diesel Exhaust Fluid Consumption per Time over the entire lifetime of the device.
		LifetimeAverageDieselExhaustFluidConsumptionperArea = 0x019E, ///< Average Diesel Exhaust Fluid Consumption per Area over the entire lifetime of the device.
		ActualSeedSingulationPercentage = 0x019F, ///< Actual Seed Singulation Percentage calculated from measured seed spacing using ISO 7256-1 "Quality of Feed Index" algorithm
		AverageSeedSingulationPercentage = 0x01A0, ///< Average Seed Singulation Percentage calculated from measured seed spacing using ISO 7256-1 "Quality of Feed Index" algorithm. The value is the average for a Task.
		ActualSeedSkipPercentage = 0x01A1, ///< Actual Seed Skip Percentage calculated from measured seed spacing using ISO 7256-1 "Miss Index" algorithm
		AverageSeedSkipPercentage = 0x01A2, ///< Average Seed Skip Percentage calculated from measured seed spacing using ISO 7256-1 "Miss Index" algorithm. The value is the average for a Task.
		ActualSeedMultiplePercentage = 0x01A3, ///< Actual Seed Multiple Percentage calculated from measured seed spacing using ISO 7256-1 "Multiples Index" algorithm.
		AverageSeedMultiplePercentage = 0x01A4, ///< Average Seed Multiple Percentage calculated from measured seed spacing using ISO 7256-1 "Multiples Index" algorithm. The value is the average for a Task.
		ActualSeedSpacingDeviation = 0x01A5, ///< Actual Seed Spacing Deviation from setpoint seed spacing
		AverageSeedSpacingDeviation = 0x01A6, ///< Average Seed Spacing Deviation from setpoint seed spacing. The value is the average for a Task.
		ActualCoefficientofVariationofSeedSpacingPercentage = 0x01A7, ///< Actual Coefficient of Variation of Seed Spacing Percentage calculated from measured seed spacing using ISO 7256-1 algorithm
		AverageCoefficientofVariationofSeedSpacingPercentage = 0x01A8, ///< Average Coefficient of Variation of Seed Spacing Percentage calculated from measured seed spacing using ISO 7256-1 algorithm. The value is the average for a Task.
		SetpointMaximumAllowedSeedSpacingDeviation = 0x01A9, ///< Setpoint Maximum Allowed Seed Spacing Deviation
		SetpointDownforceasForce = 0x01AA, ///< Setpoint Downforce as Force
		ActualDownForceAsForce = 0x01AB, ///< Actual Downforce as Force
		LoadedTotalMass = 0x01AC, ///< Accumulated Loads specified as mass, not corrected for the reference moisture percentage DDI 184.
		UnloadedTotalMass = 0x01AD, ///< Accumulated Unloads specified as mass, not corrected for the reference moisture percentage DDI 184.
		LifetimeLoadedTotalMass = 0x01AE, ///< Entire Yield Total Mass of the device lifetime.
		LifetimeUnloadedTotalMass = 0x01AF, ///< Entire Unloaded Total Mass of the device lifetime.
		SetpointApplicationRateOfNitrogen = 0x01B0, ///< Setpoint application rate of nitrogen specified as a mass per area
		ActualApplicationRateOfNitrogen = 0x01B1, ///< Actual application rate of nitrogen specified as a mass per area
		MinimumApplicationRateOfNitrogen = 0x01B2, ///< Minimum application rate of nitrogen specified as a mass per area
		MaximumApplicationRateOfNitrogen = 0x01B3, ///< Maximum application rate of nitrogen specified as a mass per area
		SetpointApplicationRateOfAmmonium = 0x01B4, ///< Setpoint application rate of Ammonium specified as a mass per area
		ActualApplicationRateOfAmmonium = 0x01B5, ///< Actual application rate of Ammonium specified as a mass per area
		MinimumApplicationRateOfAmmonium = 0x01B6, ///< Minimum application rate of Ammonium specified as a mass per area
		MaximumApplicationRateOfAmmonium = 0x01B7, ///< Maximum application rate of Ammonium specified as a mass per area
		SetpointApplicationRateOfPhosphor = 0x01B8, ///< Setpoint application rate of phosphor specified as a mass per area
		ActualApplicationRateOfPhosphor = 0x01B9, ///< Actual application rate of phosphor specified as a mass per area
		MinimumApplicationRateOfPhosphor = 0x01BA, ///< Minimum application rate of phosphor specified as a mass per area
		MaximumApplicationRateOfPhosphor = 0x01BB, ///< Maximum application rate of phosphor specified as a mass per area
		SetpointApplicationRateOfPotassium = 0x01BC, ///< Setpoint application rate of potassium specified as a mass per area
		ActualApplicationRateOfPotassium = 0x01BD, ///< Actual application rate of potassium specified as a mass per area
		MinimumApplicationRateOfPotassium = 0x01BE, ///< Minimum application rate of potassium specified as a mass per area
		MaximumApplicationRateOfPotassium = 0x01BF, ///< Maximum application rate of potassium specified as a mass per area
		SetpointApplicationRateOfDryMatter = 0x01C0, ///< Setpoint application rate of dry matter expressed as percentage
		ActualApplicationRateOfDryMatter = 0x01C1, ///< Actual application rate of dry matter expressed as percentage
		MinimumApplicationRateOfDryMatter = 0x01C2, ///< Minimum application rate of dry matter expressed as percentage
		MaximumApplicationRateOfDryMatter = 0x01C3, ///< Maximum application rate of dry matter expressed as percentage
		LoadedTotalVolume = 0x01C4, ///< Accumulated Loaded Volume specified as volume
		UnloadedTotalVolume = 0x01C5, ///< Accumulated Unloaded Volume specified as volume
		LifetimeLoadedTotalVolume = 0x01C6, ///< Entire loaded Volume of the device lifetime.
		LifetimeUnloadedTotalVolume = 0x01C7, ///< Entire unloaded Volume of the device lifetime.
		LastLoadedVolume = 0x01C8, ///< Last loaded Volume value specified as volume
		LastUnloadedVolume = 0x01C9, ///< Last unloaded Volume value specified as volume
		LoadedTotalCount = 0x01CA, ///< Accumulated Loads specified as count
		UnloadedTotalCount = 0x01CB, ///< Accumulated Unloaded specified as count
		LifetimeLoadedTotalCount = 0x01CC, ///< Entire Loaded Total Count of the device lifetime.
		LifetimeUnloadedTotalCount = 0x01CD, ///< Entire Unloaded Total Count of the device lifetime.
		LastLoadedCount = 0x01CE, ///< Last loaded Count value specified as count
		LastUnloadedCount = 0x01CF, ///< Last unloaded Count value specified as count
		HaulCounter = 0x01D0, ///< Each Time a Device Element is filled and emptied this is called a haul cycle. This counter counts the cycles
		LifetimeHaulCounter = 0x01D1, ///< The number of haul cycles done by a machine over its entire lifetime
		ActualRelativeConnectorAngle = 0x01D2, ///< The DDI Actual relative connector angle shall be placed in the device element of type connector in the DDOP of the TC-SC Client.
		ActualPercentageContent = 0x01D3, ///< Actual Device Element Content specified as percent.
		SoilSnowFrozenCondition = 0x01D4, ///< The Soil/Snow Frozen Condition DDI is used to indicate the current state of the soil or snow.
		EstimatedSoilWaterCondition = 0x01D5, ///< The Estimated Soil Water Condition DDI to document the estimated soil water condition.
		SoilCompaction = 0x01D6, ///< The Soil Compaction DDI to document the soil compaction.
		SetpointCulturalPractice = 0x01D7, ///< The setpoint value of the cultural practice to be performed by the machine.
		SetpointLengthOfCut = 0x01D8, ///< Setpoint length of cut for harvested material, e.g. Forage Harvester or Tree Harvester.
		MinimumLengthOfCut = 0x01D9, ///< Minimum length of cut for harvested material, e.g. Forage Harvester or Tree Harvester.
		MaximumLengthOfCut = 0x01DA, ///< Maximum length of cut for harvested material, e.g. Forage Harvester or Tree Harvester.
		SetpointBaleHydraulicPressure = 0x01DB, ///< The setpoint value of the hydraulic pressure applied to the sides of the bale in the bale compression chamber.
		MinimumBaleHydraulicPressure = 0x01DC, ///< The minimum value of the hydraulic pressure applied to the sides of the bale in the bale compression chamber.
		MaximumBaleHydraulicPressure = 0x01DD, ///< The maximum value of the hydraulic pressure applied to the sides of the bale in the bale compression chamber.
		SetpointFlakeSize = 0x01DE, ///< Setpoint size of the flake to be produced by the chamber.
		MinimumFlakeSize = 0x01DF, ///< Minimum size of the flake that can be produced by the chamber.
		MaximumFlakeSize = 0x01E0, ///< Maximum size of the flake that can be produced by the chamber.
		SetpointNumberofSubbales = 0x01E1, ///< Number of smaller bales that shall be included in one bigger bale.
		LastBaleNumberofSubbales = 0x01E2, ///< Number of smaller bales included in the latest produced bale.
		SetpointEngineSpeed = 0x01E3, ///< The setpoint of the rotational speed of the engine.
		ActualEngineSpeed = 0x01E4, ///< Actual rotational speed of the engine.
		MinimumEngineSpeed = 0x01E5, ///< The minimum of the rotational speed of the engine.
		MaximumEngineSpeed = 0x01E6, ///< The maximum of the rotational speed of the engine.
		DieselExhaustFluidTankPercentageLevel = 0x01E8, ///< The actual level of the Diesel Exhaust Fluid Tank in percent.
		MaximumDieselExhaustFluidTankContent = 0x01E9, ///< This value describes the maximum amount of Diesel Exhaust fluid, that can be filled into the tank of the machine
		MaximumFuelTankContent = 0x01EA, ///< This value describes the maximum amount of fuel that can be filled into the machines Fuel tank.
		FuelPercentageLevel = 0x01EB, ///< The actual level of the machine fuel tank in percent.
		TotalEngineHours = 0x01EC, ///< The total time the engine was running when the task was active.
		LifetimeEngineHours = 0x01ED, ///< The total time, when the engine was running over the whole lifetime of the machine.
		LastEventPartnerIDByte1_4 = 0x01EE, ///< Last Event Partner ID as a decimal number of 128bit length.
		LastEventPartnerIDByte5_8 = 0x01EF, ///< Last Event Partner ID as a decimal number of 128bit length.
		LastEventPartnerIDByte9_12 = 0x01F0, ///< Last Event Partner ID as a decimal number of 128bit length.
		LastEventPartnerIDByte13_16 = 0x01F1, ///< Last Event Partner ID as a decimal number of 128bit length.
		LastEventPartnerIDType = 0x01F2, ///< Defines The Type of the Partner ID Device. See Attachment for Definition.
		LastEventPartnerIDManufacturerIDCode = 0x01F3, ///< The Partner ID has to tell its Manufacturer, and the Manufacturer Numbers from SAE J1939 / ISO 11783 shall be used.
		LastEventPartnerIDDeviceClass = 0x01F4, ///< This DDI should tell the Device Class of the Partner Device.
		SetpointEngineTorque = 0x01F5, ///< The setpoint of the engine torque.
		ActualEngineTorque = 0x01F6, ///< The current torque of the engine.
		MinimumEngineTorque = 0x01F7, ///< The minimum value of the engine torque
		MaximumEngineTorque = 0x01F8, ///< The maximum value of the engine torque
		TramlineControlLevel = 0x01F9, ///< This DDI defines the Tramline Control capability of the Implement.
		SetpointTramlineControlLevel = 0x01FA, ///< This DDI defines the Tramline Control capability of the Task Controller that is used with the appropriate Implement.
		TramlineSequenceNumber = 0x01FB, ///< This DDI defines a group of DDIs which belong together.
		UniqueABGuidanceReferenceLineID = 0x01FC, ///< This DDI defines a unique ID to identify which Guidance Reference Line is the base for the Tramline calculation.
		ActualTrackNumber = 0x01FD, ///< This DDI defines a unique number of the Guidance Track the Implement is currently located on.
		TrackNumberToTheRight = 0x01FE, ///< This DDI defines a unique number of the Guidance Track to right hand side in direction of Implement orientation.
		TrackNumberToTheLeft = 0x01FF, ///< This DDI defines a unique number of the Guidance Track to left hand side in direction of Implement orientation.
		GuidanceLineSwathWidth = 0x0200, ///< The Swath Width is the Distance between two adjacent Guidance Lines in a Guidance Pattern.
		GuidanceLineDeviation = 0x0201, ///< Deviation of the Device-Reference-Point (DRP) to the actual guidance line, in driving direction.
		GNSSQuality = 0x0202, ///< GNSS Quality Identifier to inform the implement about the used Position Status.
		TramlineControlState = 0x0203, ///< Specifies the actual state of Tramline Control. See isobus.net
		TramlineOverdosingRate = 0x0204, ///< Overdosing Rate for the rows adjacent to the Tramline Track.
		SetpointTramlineCondensedWorkState1_16 = 0x0205, ///< The Setpoint Tramline Condensed Work State DDIs are the control command counterparts to the Actual Tramline Condensed Work States DDIs.
		ActualTramlineCondensedWorkState1_16 = 0x0206, ///< Combination of the Actual States of individual Tramline Valves number 1 to 16 into a single Actual Tramline State of their parent DeviceElement.
		LastBaleLifetimeCount = 0x0207, ///< The Lifetime Bale Count of the bale that leaves the machine. The value shall be equal to the Lifetime Bale Count that was reported when this bale is knotted.
		ActualCanopyHeight = 0x0208, ///< Actual height of the canopy above ground.
		GNSSInstallationType = 0x0209, ///< The GNSS Installation Type DDE is used by the device to provide additional information about the type and location of the GPS receiver with reference to the overall system.
		TwineBaleTotalCount = 0x020A, ///< The total number of twine bound product units for which Twine binding method was used during operation.
		MeshBaleTotalCount = 0x020B, ///< The total number of mesh product units for which Net binding method was used during operation.
		LifetimeTwineBaleTotalCount = 0x020C, ///< Entire total number of  twine bound product units for which Twine binding method was used during operation, of a device lifetime
		LifetimeMeshBaleTotalCount = 0x020D, ///< Entire total number of mesh product units for which Net binding method was used during operation, of a device lifetime
		ActualCoolingFluidTemperature = 0x020E, ///< The actual temperature of the cooling fluid for the machine.
		LastBaleCapacity = 0x0210, ///< The capacity of the bale that leaves the machine.
		PresentWeatherConditions = 0x022C, ///< DDI to document the current weather conditions.
		PreviousRainfall = 0x022D, ///< DDI to document the previous rainfall.
		TractionType = 0x0251, ///< The type of traction system used for a machine.
		SteeringType = 0x0252, ///< Steering Type DDI is used to define the current active steering type of a machine.
		MachineMode = 0x0253, ///< This mode does represent the overall current machine mode and shall be used only one time within the DDOP below the device element of type device.
		ActualTramlineCondensedWorkState17_32 = 0x025B, ///< Combination of the Actual States of individual Tramline Valves number 17 to 32 into a single Actual Tramline State of their parent DeviceElement.
		ActualTramlineCondensedWorkState33_48 = 0x025C, ///< Combination of the Actual States of individual Tramline Valves number 33 to 48 into a single Actual Tramline State of their parent DeviceElement.
		ActualTramlineCondensedWorkState49_64 = 0x025D, ///< Combination of the Actual States of individual Tramline Valves number 49 to 64 into a single Actual Tramline State of their parent DeviceElement.
		ActualTramlineCondensedWorkState65_80 = 0x025E, ///< Combination of the Actual States of individual Tramline Valves number 65 to 80 into a single Actual Tramline State of their parent DeviceElement.
		ActualTramlineCondensedWorkState81_96 = 0x025F, ///< Combination of the Actual States of individual Tramline Valves number 81 to 96 into a single Actual Tramline State of their parent DeviceElement.
		ActualTramlineCondensedWorkState97_112 = 0x0260, ///< Combination of the Actual States of individual Tramline Valves number 97 to 112 into a single Actual Tramline State of their parent DeviceElement.
		ActualTramlineCondensedWorkState113_128 = 0x0261, ///< Combination of the Actual States of individual Tramline Valves number 113 to 128 into a single Actual Tramline State of their parent DeviceElement.
		ActualTramlineCondensedWorkState129_144 = 0x0262, ///< Combination of the Actual States of individual Tramline Valves number 129 to 144 into a single Actual Tramline State of their parent DeviceElement.
		ActualTramlineCondensedWorkState145_160 = 0x0263, ///< Combination of the Actual States of individual Tramline Valves number 145 to 160 into a single Actual Tramline State of their parent DeviceElement.
		ActualTramlineCondensedWorkState161_176 = 0x0264, ///< Combination of the Actual States of individual Tramline Valves number 161 to 176 into a single Actual Tramline State of their parent DeviceElement.
		ActualTramlineCondensedWorkState177_192 = 0x0265, ///< Combination of the Actual States of individual Tramline Valves number 177 to 192 into a single Actual Tramline State of their parent DeviceElement.
		ActualTramlineCondensedWorkState193_208 = 0x0266, ///< Combination of the Actual States of individual Tramline Valves number 193 to 208 into a single Actual Tramline State of their parent DeviceElement.
		ActualTramlineCondensedWorkState209_224 = 0x0267, ///< Combination of the Actual States of individual Tramline Valves number 209 to 224 into a single Actual Tramline State of their parent DeviceElement.
		ActualTramlineCondensedWorkState225_240 = 0x0268, ///< Combination of the Actual States of individual Tramline Valves number 225 to 240 into a single Actual Tramline State of their parent DeviceElement.
		ActualTramlineCondensedWorkState241_256 = 0x0269, ///< Combination of the Actual States of individual Tramline Valves number 241 to 256 into a single Actual Tramline State of their parent DeviceElement.
		SetpointTramlineCondensedWorkState17_32 = 0x026A, ///< The Setpoint Tramline Condensed Work State DDIs are the control command counterparts to the Actual Tramline Condensed Work States DDIs.
		SetpointTramlineCondensedWorkState33_48 = 0x026B, ///< The Setpoint Tramline Condensed Work State DDIs are the control command counterparts to the Actual Tramline Condensed Work States DDIs.
		SetpointTramlineCondensedWorkState49_64 = 0x026C, ///< The Setpoint Tramline Condensed Work State DDIs are the control command counterparts to the Actual Tramline Condensed Work States DDIs.
		SetpointTramlineCondensedWorkState65_80 = 0x026D, ///< The Setpoint Tramline Condensed Work State DDIs are the control command counterparts to the Actual Tramline Condensed Work States DDIs.
		SetpointTramlineCondensedWorkState81_96 = 0x026E, ///< The Setpoint Tramline Condensed Work State DDIs are the control command counterparts to the Actual Tramline Condensed Work States DDIs.
		SetpointTramlineCondensedWorkState97_112 = 0x026F, ///< The Setpoint Tramline Condensed Work State DDIs are the control command counterparts to the Actual Tramline Condensed Work States DDIs.
		SetpointTramlineCondensedWorkState113_128 = 0x0270, ///< The Setpoint Tramline Condensed Work State DDIs are the control command counterparts to the Actual Tramline Condensed Work States DDIs.
		SetpointTramlineCondensedWorkState129_144 = 0x0271, ///< The Setpoint Tramline Condensed Work State DDIs are the control command counterparts to the Actual Tramline Condensed Work States DDIs.
		SetpointTramlineCondensedWorkState145_160 = 0x0272, ///< The Setpoint Tramline Condensed Work State DDIs are the control command counterparts to the Actual Tramline Condensed Work States DDIs.
		SetpointTramlineCondensedWorkState161_176 = 0x0273, ///< The Setpoint Tramline Condensed Work State DDIs are the control command counterparts to the Actual Tramline Condensed Work States DDIs.
		SetpointTramlineCondensedWorkState177_192 = 0x0274, ///< The Setpoint Tramline Condensed Work State DDIs are the control command counterparts to the Actual Tramline Condensed Work States DDIs.
		SetpointTramlineCondensedWorkState193_208 = 0x0275, ///< The Setpoint Tramline Condensed Work State DDIs are the control command counterparts to the Actual Tramline Condensed Work States DDIs.
		SetpointTramlineCondensedWorkState209_224 = 0x0276, ///< The Setpoint Tramline Condensed Work State DDIs are the control command counterparts to the Actual Tramline Condensed Work States DDIs.
		SetpointTramlineCondensedWorkState225_240 = 0x0277, ///< The Setpoint Tramline Condensed Work State DDIs are the control command counterparts to the Actual Tramline Condensed Work States DDIs.
		SetpointTramlineCondensedWorkState241_256 = 0x0278, ///< The Setpoint Tramline Condensed Work State DDIs are the control command counterparts to the Actual Tramline Condensed Work States DDIs.
		BindingMethod = 0x0284, ///< Specification of the method used to bind bales.
		ActualCO2Equivalent = 0x0297, ///< Actual CO2 equivalent specified as mass per count.
		WorkingDirection = 0x029A, ///< This DDI defines the intended Working Direction in the field and also defines the numbering of the Bouts (direction is compared to AB-reference line).
		MaximumDropletSize = 0x8000, ///< The maximum droplet size the system can produce.
		MinimumDropletSize = 0x8001, ///< The minimum droplet size the system can produce.
		DefaultDropletSize = 0xA000, ///< The default droplet size the system is producing.
		ActualDropletSize = 0xB000, ///< The actual droplet size the system is producing.
		SetpointDropletSize = 0xC000, ///< The setpoint for droplet size.
		RequestDefaultProcessData = 0xDFFF, ///< Request Default Process Data. This DDE is the highest ISO assigned entity.  The range above this number is reserved for manufacture specific DDE's.
		Reserved = 0xFFFF
	};
}

#endif // ISOBUS_STANDARD_DATA_DESCRIPTION_INDICES_HPP
